package com.free.front.config;

import com.free.ext.web.spring.filter.XssFilter;
import com.google.code.kaptcha.servlet.KaptchaServlet;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.RequestContextListener;
import org.springframework.web.filter.DelegatingFilterProxy;

import java.util.EventListener;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
@Configuration
public class FilterConfig {
    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/
//    @Bean
//    public FilterRegistrationBean xssFilterRegistration(){
//        FilterRegistrationBean registration = new FilterRegistrationBean(new XssFilter());
//        registration.addUrlPatterns("/*");
//        registration.setName("xssFilter");
//        registration.setOrder(1);
//        return registration;
//    }

//    @Bean
//    public ServletRegistrationBean kaptaServletRegistration(){
//        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new KaptchaServlet(),"/kaptcha");
//        Map<String,String> kaptchaParams = new HashMap<String,String>();
//        kaptchaParams.put("kaptcha.textproducer.char.length", "4");
//        kaptchaParams.put("kaptcha.border", "no");
//        kaptchaParams.put("kaptcha.textproducer.font.color", "red");
//        kaptchaParams.put("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");
//        kaptchaParams.put("kaptcha.noise.impl", "com.google.code.kaptcha.impl.NoNoise");
//        servletRegistrationBean.setInitParameters(kaptchaParams);
//        return servletRegistrationBean;
//    }
    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
